"Multimedia" computer systems are gaining popularity in many markets. A typical multimedia computer system can receive analog audio and video information, process the information and store it as digitized signals. The stored audio and video information can then be edited and reproduced in a coordinated manner.
Such multimedia systems typically comprise both computer software and specialized computer hardware that provides an interface between the computer and analog video and audio processing components, such as microphones, speakers, cameras and tape recorders. During a process called "recording," the specialized hardware periodically samples an incoming analog signal and encodes the amplitude of each signal sample into a digital word. The resulting stream of digital words forms a set of digitized data that can be manipulated by the computer. The incoming digitized data is typically stored on a disk or other large scale storage system as a multimedia data file where the data can be edited and later reconverted to an analog signal by means of other computer hardware during. a process called "playback."
Although the sampling frequency and the number of bits used to encode each sample determine the actual amount of space required to store a given multimedia file, in general, the storage space required is relatively large. Consequently, multimedia data files are often processed by using further encoding techniques to reduce the required storage space in a process that is typically called "compression." Some of the more conventional compression techniques include Adaptive Pulse Code Modulation (APCM), .mu.-law, and Run-Length Encoding (RLE). A given digital signal file is either totally uncompressed or totally compressed, however, it is common to operate in environments where some multimedia files are compressed, while others are not.
Once digitized information has been stored, it is possible to edit the stored information (and, consequently, the reproduced analog signal) by means of software that allows a user to directly manipulate the stored digital signals. There are many commercially available software applications that can perform such editing operations as insertion, deletion and overwriting selected portions of the data. Some software also provides for data recovery that allows one or more previous editing operations to be reversed or "undone". Other software includes journaling ability or the ability to redo editing operations that have been "undone" during a data recovery operation.
For example, generic database software typically can perform data recovery and journaling operations, however, a conventional generic database cannot correctly edit multimedia data and cannot correctly save the state of multimedia files. Further, conventional database software does not properly operate with compressed multimedia files.
In order to overcome these difficulties prior art approaches have developed application software designed specifically for editing multimedia files, such as digital audio. These digital editor applications have implemented editing support for both compressed and uncompressed files, however there are limitations. For example, prior art digital multimedia editing applications have relied on disk storage to save the data and, in order to ensure data integrity, such applications typically make a copy of a file and perform editing on the copy by directly changing the ordering of the copy. The time required to copy relatively large multimedia files and move sections of the files makes such editing operations relatively slow.
In addition, prior art digital editors often have poor data recovery support. Unlike word processors, conventional digital editors do not offer unlimited undo/redo capability due to the expense generally involved in implementing such features. Further, since each specialized editing application must include complete editing support for every type of multimedia file, every such application must include essentially the same editing code, resulting in a much larger overall program. Large programs, in turn, entail maintenance difficulties and coordination problems since multiple vendors must attempt to fix similar bugs.
In order to overcome the latter difficulty, attempts have been made to incorporate multimedia editing support directly into a computer operating system. This approach has the advantage that each digital editing application does not have to duplicate the same code thereby eliminating the maintenance difficulties associated with the separate application programs. However, existing operating environments contain only rudimentary digital editing support. For example, a popular operating system called Microsoft WINDOWS.TM. 3.1 developed and sold by the Microsoft Corporation, Redmond, Washington, does provide facilities for multimedia file manipulation. However, the editing facilities available only allow overwrite of a file and insertion into a file. Other editing functions, such as deletion, data recovery and journaling are not available and the program cannot edit compressed files. Another prior art system called the Multimedia Presentation Manager 2 (MMPM/2) marketed by the International Business Machines Corporation, Boca Raton, Fla., has the same simple facilities as the above-mentioned WINDOWS.TM. program.
A further prior art program called QUICKTIME.RTM. marketed by the Apple Computer Corporation, Cupertino, Calif., has relatively sophisticated editing functions which allow sections of media to be cut and/or copied and pasted into other media types. However, this latter program also has limitations in that it has limited data recovery and journaling support and it can only work with QUICKTIME.RTM. file formats.
Accordingly, it is an object of the present invention to provide a multimedia file editing and data recovery system which can accurately and rapidly edit multimedia files.
It is another object of the present invention to provide a multimedia editing system which minimizes memory use and which provides unlimited data recovery and journaling.
It is a further object of the present invention to provide a consistent, reliable file format interface that is independent for all applications and which can edit any multimedia file format, including compressed files.